Consistency এবং Isolation Levels হল ডেটাবেস সিস্টেমের দুটি গুরুত্বপূর্ণ ধারণা, যা ACID (Atomicity, Consistency, Isolation, Durability) প্রিন্সিপালের একটি অংশ। এই দুটি বৈশিষ্ট্য ডেটাবেসের ট্রানজাকশন পরিচালনা এবং একাধিক ব্যবহারকারীর অ্যাক্সেসের মধ্যে ডেটার সঠিকতা এবং নির্ভরযোগ্যতা নিশ্চিত করতে সাহায্য করে।
Consistency (সামঞ্জস্যতা) হল সেই গ্যারান্টি যা একটি ট্রানজাকশনের পরবর্তী অবস্থা নিশ্চিত করে যে ডেটাবেস কোনও অকার্যকর অবস্থায় চলে না এবং এটি শুধুমাত্র বৈধ ডেটা ধারণ করবে। এর মানে হল যে, এক বা একাধিক ট্রানজাকশন সম্পন্ন হলে, ডেটাবেসের অবস্থা অবশ্যই পূর্বের নিয়মাবলী বা রুলসের সঙ্গে সঙ্গতিপূর্ণ থাকবে।
ধরা যাক একটি ব্যাংক অ্যাকাউন্টের ডেবিট এবং ক্রেডিট অপারেশন সম্পাদন করা হচ্ছে। যদি কোনও অ্যাকাউন্টে $100 ডিপোজিট করা হয়, তাহলে পরবর্তী ট্রানজাকশনে সেই অ্যাকাউন্টের ব্যালান্স অবশ্যই $100 বা তার বেশি হবে, কম নয়। এর মানে, আপনি ডেটাবেসে অপর্যাপ্ত বা অসম্পূর্ণ ডেটা পাবেন না।
Isolation (অংশ বিচ্ছিন্নতা) নির্ধারণ করে যে একাধিক ট্রানজাকশন যখন একই সময়ে চলে, তখন তাদের মধ্যে কোনও একে অপরের সাথে পারস্পরিক প্রভাব পড়বে কি না। বিভিন্ন isolation levels ট্রানজাকশনগুলির মধ্যে এই পারস্পরিক প্রভাবের মাত্রা নিয়ন্ত্রণ করে।
অর্থাৎ, Isolation Level হল একটি ট্রানজাকশনকে অন্য ট্রানজাকশনের প্রভাব থেকে কতটুকু পৃথক রাখবে।
ডেটাবেসের isolation levels সাধারণত চারটি প্রধান ধরনের হয়:
DocumentDB MongoDB-র মতো eventual consistency সমর্থন করে, অর্থাৎ যখন কোনও পরিবর্তন হয়, তখন এটি সমস্ত রিপ্লিকা এবং ক্লাস্টারে সমানভাবে পৌঁছাবে না যতক্ষণ না সময় পায়।
DocumentDB Read Committed isolation level সমর্থন করে, যা নিশ্চিত করে যে dirty reads থেকে রক্ষা পাবে, তবে non-repeatable reads এখনও ঘটতে পারে।
Consistency এবং Isolation Levels হল ডেটাবেস ট্রানজাকশনের একটি গুরুত্বপূর্ণ অংশ, যা ডেটার সঠিকতা, নির্ভরযোগ্যতা এবং একাধিক ট্রানজাকশনের মধ্যে সঠিক বিচ্ছিন্নতা নিশ্চিত করে। MongoDB বা DocumentDB তে বিভিন্ন isolation levels দ্বারা এই নির্ভরযোগ্যতা এবং বিচ্ছিন্নতা নিশ্চিত করা হয়, যেখানে Serializable isolation level সর্বোচ্চ সুরক্ষা এবং নির্ভরযোগ্যতা প্রদান করে।
common.read_more